package com.fuyao.cloud.personnel.problem.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fuyao.cloud.common.core.util.R;
import com.fuyao.cloud.personnel.api.dto.ProblemRectifyDTO;
import com.fuyao.cloud.personnel.api.entity.ProblemRectify;
import com.fuyao.cloud.personnel.api.vo.RectifyThoseResponsibleVO;
import com.fuyao.cloud.personnel.api.vo.RegularlyRemind;
import com.fuyao.cloud.personnel.api.vo.excel.ProblemRectifyExcelExportVO;
import com.fuyao.cloud.personnel.api.vo.excel.ProblemRectifyExcelVO;
import org.springframework.validation.BindingResult;

import java.util.List;


/**
 * 整改措施
 *
 * @author pigx code generator
 * @date 2022-04-26 10:14:04
 */
public interface ProblemRectifyService extends IService<ProblemRectify> {
    /**
     * 获取定时任务，人员信息
     * @param id
     * @return
     */
    List<RegularlyRemind> getRegularlyReminds(Long id);

    /**
     * 获取问题名称
     * @param id
     * @return
     */
    String getInforName(Long id);

    /**
     * 同时保存整改和责任人
     * @return
     */
    boolean saveRectifyAndResponsPerson(ProblemRectifyDTO rectifyDTO);

    /**
     * 返回整改措施加责任人数据
     * @param page
     * @param queryWrapper
     * @return
     */
    IPage<RectifyThoseResponsibleVO>  pageRectifyThoseResponsibleVO(Page page, RectifyThoseResponsibleVO queryWrapper);

    R importProblemRectify(List<ProblemRectifyExcelVO> excelVOList, BindingResult bindingResult);

    List<ProblemRectifyExcelExportVO> getProblemRectifyExcelListVO(Page page, RectifyThoseResponsibleVO problemRectify);

    R batchRemoveRectifyByIds(List<Long> ids);
}
